package com.flyshop.module.user.dao;

import com.flyshop.module.user.model.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.PreparedStatementCreator;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.support.GeneratedKeyHolder;
import org.springframework.jdbc.support.KeyHolder;
import org.springframework.stereotype.Repository;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

@Repository
public interface UserDao {

    // ///////////////////////////////
    // ///// 增加 ////////
    // ///////////////////////////////
    public int addUser(User user);

    //添加用户权限组
    public void addUserAndRole(@Param("userId") int userId,@Param("roleId") int roleId);

    // ///////////////////////////////
    // /////        修改      ////////
    // ///////////////////////////////
    public int updateUserLogin(User user);
    // ///////////////////////////////
    // ///// 查询 ////////
    // ///////////////////////////////
    /**
     * 通过userId查询用户信息
     * 用户状态0是所有 1未审核 2正常状态 3 删除至回收站 4锁定
     *
     * @param userId
     *         用户id
     * @param status
     *         审核状态
     * @return User
     */
    public User findUserById(@Param("userId") int userId,@Param("status") int status);

    /**
     * 通过username查询用户信息
     *
     * @param username
     * @return User
     */
    public User findByUsername(@Param("username") String username);

}
